package org.ccay.demo.student.dao;

import java.util.List;

import org.ccay.core.base.PageVO;
import org.ccay.core.base.PagedResult;
import org.ccay.demo.student.StudentVO;

/**
 * 
 * 测试--学生Dao接口
 */
public interface IStudentDao {

	/**
	 * 分页查找学生信息
	 * @param queryStudent 查询条件
	 * @param pageVO 分页信息
	 * @return
	 */
	public PagedResult<StudentVO> findPagedStudentList(StudentVO queryStudent, PageVO pageVO);
	
	/**
	 * 通过排序分页查找学生信息
	 * @param taxis 排序字段，如：age desc或者age asc
	 * @param pageVO
	 * @return
	 */
	public PagedResult<StudentVO> findPagedStudentListBySort(StudentVO queryStudent, PageVO pageVO, String taxis);
	
	/**
	 * 查询单个学生信息
	 * @param studentVO
	 * @return
	 */
	public StudentVO findStudentByID(StudentVO studentVO);
	/**
	 * 通过ID查找学生信息
	 * @param studentId
	 * @return
	 */
	public List<StudentVO> findStudentListByID(List<Integer> studentId);
	
	/**
	 * 批量增加学生信息
	 * @param newStudents
	 */
	public void createStudents(List<StudentVO> newStudents);
	
	/**
	 * 批量删除学生信息	
	 * @param existedStudents
	 * @return
	 */
	public int deleteStudents(List<StudentVO> existedStudents);
	
	/**
	 * 通过学生ID集合批量删除学生信息
	 * @param studentIds
	 * @return
	 */
	public int deleteStudentsBySIds(List<Integer> studentIds);
	
	/**
	 * 批量修改学生信息	
	 * @param existedStudents
	 */
	public void updateStudents(List<StudentVO> existedStudents);

	/** 获得时间列表
	 * @return
	 */
	public PagedResult<StudentVO> findTimeList(PageVO pageVO);
	
}
